//
//  BottomShowCustomView.swift
//  XMenSwift
//
//  Created by X-MEN on 2021/12/28.
//

import UIKit

class BottomShowCustomView: UIView,UITableViewDelegate,UITableViewDataSource {
    
    var tableView: UITableView?
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.backgroundColor = .clear;
        self.setupView()
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    func setupView() {
        self.tableView = UITableView.init(frame: self.bounds, style: .grouped)
        self.tableView?.delegate = self;
        self.tableView?.dataSource = self;
        self.tableView?.separatorStyle = .none;
        self.tableView?.keyboardDismissMode = .onDrag;
        //是否显⽰示⽔水平滚动条 - NO
        self.tableView?.showsHorizontalScrollIndicator = false;
        //是否显⽰示垂直滚动条- NO
        self.tableView?.showsVerticalScrollIndicator = false;
        //iOS11默认开启为自动模式，这会导致下拉刷新出现问题
        self.tableView?.estimatedRowHeight = 0
        self.tableView?.estimatedSectionHeaderHeight = 0
        self.tableView?.estimatedSectionFooterHeight = 0
        if #available(iOS 15.0, *) {
         self.tableView?.sectionHeaderTopPadding = 0
        }
        self.tableView?.register(UINib.init(nibName: "BottomShowTableViewCell", bundle: nil), forCellReuseIdentifier: "BottomShowTableViewCell")
        self.addSubview(self.tableView!)
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 30
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        // 告诉tableView所有cell的估算高度
        tableView.rowHeight = UITableView.automaticDimension
        tableView.estimatedRowHeight = 100
        return tableView.rowHeight
    }
    
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 0.001
    }
    
    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        return 0.001
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if let cell = tableView.dequeueReusableCell(withIdentifier: "BottomShowTableViewCell", for: indexPath) as? BottomShowTableViewCell {
            return cell
        }
        return UITableViewCell.init()
        
    }
    
}
